package cn.zhukelili.improve;

/**
 * @description: 场景类
 * @author: hhbeast
 * @since: 2018/7/22 20:13
 */
public class Client {
    public static void main(String[] args) {
        //三个观察者产生出来
        Observer liSi = new LiSi();
        Observer wangSi = new WangSi();
        Observer liuSi = new LiuSi();
        //定义出韩非子
        HanFeiZi hanFeiZi = new HanFeiZi();
        //我们后人根据历史，描述这个场景，有三个人在观察韩非子
        hanFeiZi.addObserver(liSi);
        hanFeiZi.addObserver(wangSi);
        hanFeiZi.addObserver(liuSi);
        //然后这里我们看看韩非子在干什么
        hanFeiZi.haveBreakfast();
    }
}

/*
好了，结果也正确了，也符合开闭原则了，同时也实现类间解耦，想再加观察者？继续
实现Observer接口就成了，这时候必须修改Client程序，因为你的业务都发生了变化。这就是
观察者模式。
 */